home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / GFX / Converter / DC-PGS21.DMS / in.adf / Install Photogenics < prev    next >
Encoding:
Text File  |  1996-07-21  |  35.9 KB  |  1,420 lines

  1.  
  2.  
  3. ; Photogenics Installer script. © Almathera 1994-6. All rights reserved.
  4.  
  5. ; $VER: Photogenics_2_Floppy_Installer 1.0 (2.07.96)
  6.  
  7. ; Authored & Hacked To Death by thp/©!truS'96
  8.  
  9. ;                And now over to Tom with the weather.
  10.  
  11.  
  12. ; /**************************************************************************/
  13. ;                  The "wurdZ": Complicated weirdshit, this.
  14. ; /**************************************************************************/
  15.  
  16.                           ; global messages
  17.  
  18. (set #GOINGIN
  19.     (cat "\n\nWelcome to the Photogenics 2 (TM) installation system\n\n\n\n"
  20.          "Photogenics 2 requires approx. 7.2Mb of free disk space for a full install."
  21.          "\n\n\n\nPhotogenics © 1994-6 Paul Nolan & Almathera Systems Ltd."
  22.          " All Rights Reserved.")
  23. )
  24.  
  25. (set #TOOSMALLBOX-HELP
  26.     (cat "\n\nWarning:\n\nInstalling Photogenics 2 on a machine"
  27.          " with a hard drive but no extra FAST memory is *NOT*"
  28.          " recommended due to the extra memory overheads of the hard"
  29.          " drive.\n\n"
  30.          " Adding extra FAST RAM to your machine will improve"
  31.          " system performance by approximately 2 times, and"
  32.          " allow you to work with much larger images in Photogenics.")
  33. )
  34.  
  35. (set #OLDBOX-HELP "\n You must be using at least KickStart 3.0 (V39) to install or run Photogenics!")
  36.  
  37. (set #DISK "Please insert Photogenics 2 disk %s in any drive")
  38.  
  39. (set #MAIN-PROMPT
  40.     (cat "Which parts of Photogenics 2 do you wish to install?\n"
  41.          "(Use the check-boxes to select, then hit Proceed)")
  42. )
  43.  
  44. (set #DOTHEPROGRAMFIRST
  45.     (cat "\n\n\n You need to install the main Photogenics core"
  46.          " before you can install the optional tutorial"
  47.          " material! ;->\n\n"
  48.          " Make sure the checkbox for 'Main program and online help'"
  49.          " is ticked when the main options menu appears on starting this"
  50.          " installer utility. <You can install everything else at the same"
  51.          " time, by selecting both checkboxes and hitting Proceed>")
  52. )
  53.  
  54.  
  55. (set #WAYS-TO-INSTALL
  56.     (cat "Photogenics 2 is a modular program - once you've installed"
  57.          " it, you can trim down the code sections you tend not"
  58.          " to use regularly, for more efficient memory use and"
  59.          " faster loading times. You'll need to install at least the"
  60.          " core program and online help, though.\n\n"
  61.          "The ColourFonts are the ones as used in the 'Text effects'"
  62.          " tutorial. They're 8-colour anti-aliased fonts, and use a"
  63.          " ramped-up greyscale palette. Be warned that they're BIG"
  64.          " (around 900K) to install compared to most fonts, so make"
  65.          " sure your hard drive has enough free space beforehand if"
  66.          " you're installing them in your FONTS: directory on your"
  67.          " Workbench partition.\n\n"
  68.          "The Tutorial graphics are the raw image data as referred to"
  69.          " in 'spray-along-with-us' sections of the on-line manual,"
  70.          " and need about 600K of disk."
  71.     )
  72. )
  73.  
  74. (set #CHOICE-MAIN "Main program & on-line help (5.7Mb)")
  75.  
  76. (set #CHOICE-GFX "Tutorial ColourFonts & Images (1.5Mb)")
  77.  
  78. (set #FINAL-MESSAGE
  79.     (cat "\n\nNow go ahead and start Photogenics by double-clicking"
  80.          " on its icon - this can be found in the drawer in which"
  81.          " you installed the package.\n\n( %s )\n\n Spray on, gang.")
  82. )
  83.  
  84. (set #FONTS-INSTALLED "\n\nExample Colourfonts installed.")
  85.  
  86. (set #GFX-INSTALLED "\n\nTutorial and example graphics installed.")
  87.  
  88.  
  89.                         ; main code messages
  90.  
  91. (set #REINCARNATION
  92.     (cat "\n\nA previous installation of the Photogenics package"
  93.          " has been found in\n\n%s\n\nSelect 'Proceed' to update"
  94.          " your installation with the new version, or 'Abort' to"
  95.          " abort the install.")
  96. )
  97.  
  98. (set #PREFS-DELETE
  99.     (cat "\n\nThe format of the Photogenics preference files"
  100.          " has completely changed since pre-v2, and so they need"
  101.          " to be deleted. When you next start Photogenics up,"
  102.          " you'll need to register with your new v2 number.\n\n"
  103.          " Deleting: %s\n\n")
  104. )
  105.  
  106. (set #PREFS-HELP "\n\n\n\n\n\n Installing v2 requires you to delete this file.")
  107.  
  108. (set #MAINPROG-PROMPT
  109.     (cat "Where do you wish to install Photogenics?\n"
  110.          "(A drawer named 'Photogenics' will be created in which the"
  111.          " program will reside)")
  112. )
  113.  
  114. (set #PROBLEM-WITH-UNPACK
  115.     (cat "\n\nError decompressing this section into your selected directory.\n"
  116.          "Make sure your hard disk has enough free space in it, and if the"
  117.          " files to be copied already exist, the existing files aren't protected"
  118.          " from deletion or over-writing."
  119.     )
  120. )
  121.  
  122. (set #INSTALL-CORE "\n\nUnpacking the main Photogenics core...")
  123.  
  124. (set #INSTALL-FPU "\n\nSetting up correct versions of maths-intensive code")
  125.  
  126. (set #FPU-BLURB
  127.     (cat "\nPhotogenics now has optimisations for certain maths-grunt"
  128.          " parts of the code, namely the Warper (part of the file data/libs/pgs.library),"
  129.          " and in the new Effects plug-in system, Fractal, Wave and"
  130.          " Perspective (which live in the data/Effects drawer)"
  131.          "\n\nIf you've got a maths co-processor (FPU), there's"
  132.          " specific versions of these files. Unfortunately, some RAM"
  133.          " cards reply 'Yes' to the installer about an FPU when they"
  134.          " don't have one."
  135.          "\n\nIf the wrong code is installed, Photogenics won't start up.")
  136. )
  137.  
  138. (set #SCRATCH-PROMPT
  139.     (cat "Where should Photogenics keep its temporary files?\n"
  140.          "This should be in a FAST hard disk directory with LOTS"
  141.          " of space.)")
  142. )
  143.  
  144. (set #SCRATCH-HELP
  145.     (cat "\nWith Photogenics 2 now using virtual memory as well as the"
  146.          " original temporary files for exchanging with other packages,"
  147.          " the system now needs PGStemp: assigned to a large fast hard"
  148.          " disk [have at least 2 times the size of the largest image"
  149.          " you'll be working with as spare disk, as a guide], as well"
  150.          " as the original Photogenics: assignment\n\n"
  151.          "The installer will add the required lines to your s:User-Startup"
  152.          " file for you.")
  153. )
  154.  
  155. (set #PGXDIR "Creating Photogenics directory...")
  156.  
  157. (set #PGX-SCRATCHPROMPT "Creating the directory \n%s\n for Photogenics temporary files...")
  158.  
  159. (set #PGX-FONT-PROMPT "Installing Photogenics font in FONTS:")
  160.  
  161. (set #GENIXFONT-HELP
  162.     (cat "\n\n\n\n\nInstalling Photogenics font into FONTS: - this is the"
  163.          " internal font used by the program.")
  164. )
  165.  
  166. (set #PGX-SCRUB "\n\nDeleting redundant program code:\n\n%s\n\n")
  167.  
  168. (set #PGX-ENVARC "Creating Photogenics directory in ENVARC:...")
  169.  
  170. (set #PGX-ENV "Creating Photogenics directory in ENV:...")
  171.  
  172. (set #PGX-ASL "Checking and updating ASL.library, if needed...")
  173.  
  174. (set #PGX-DISKFONT "Checking and updating DiskFont.library, if needed...")
  175.  
  176. (set #PGX-SETPATCH "Checking and updating SetPatch. Photogenics *requires* v40.16")
  177.  
  178. (set #PGX-PICDT "Checking and updating picture.datatype to v42.1, if needed...")
  179.  
  180. (set #PGX-ZGIF "Checking and updating ZGIF.datatype. Photogenics *requires* v39.18")
  181.  
  182. (set #INSTALL-WGT-PROMPT
  183.     (cat "\n\nUnpacking the Widget subsystem..."
  184.          "\n\nThe Widget library suite is our secret weapon against certain"
  185.          " cumbersome, inefficient, unstable and bloated third-party GUI"
  186.          " systems...")
  187. )
  188.  
  189. (set #INSTALL-DATA "\n\nUnpacking Photogenics 2 Data & Storage heirarchy...")
  190.  
  191. (set #INSTALL-FX "\n\nUnpacking Photogenics 2 effects modules...")
  192.  
  193. (set #INSTALL-GIO "\n\nUnpacking Photogenics 2 GIO modules...")
  194.  
  195. (set #INSTALL-LIB "\n\nUnpacking Photogenics 2 support libraries...")
  196.  
  197. (set #INSTALL-MODE "\n\nUnpacking Photogenics 2 paintmodes...")
  198.  
  199. (set #WGT-GFX
  200.     (cat "\n\nThe Widget run-time system has 2 sets of graphics"
  201.          " available for its imagery, the 'XIX' set [named after the"
  202.          " original creator of Widget] is suitable for larger,"
  203.          " 800x600-and-up high-resolution screens, and the 'Gad-u-like'"
  204.          " set [a spoof of the Amiga's gadtools library] which is more"
  205.          " suited to standard screen resolutions.\n\n"
  206.          "Which set would you like to install?")
  207. )
  208.  
  209.                       ; on-line help W3 supprt tools
  210.  
  211. (set #W3-TOOL-INFO
  212.     (cat "\nFor the on-line help to operate from hard disk, you need to have"
  213.          " a WWW browser installed on your system and Photogenics configured"
  214.          " so that said browser can be launched at the HELP key and look for"
  215.          " the file 'PgsCD:help/Pgs.HTM'. In-house, we prefer the excellent AWeb"
  216.          " program, and have set up the configuration for instant use with"
  217.          " Photogenics, however if you have an alternative browser of preference,"
  218.          " you can configure Photogenics to use that instead.")
  219. )
  220.  
  221. (set #W3-AWEB "Install supplied AWeb")
  222.  
  223. (set #W3-CUSTOM "Configure your own")
  224.  
  225. (set #W3-INSTALLAWEB "\n\nUnpacking the Photogenics-setup AWeb...")
  226.  
  227. (set #W3-CUSTOM-BREED
  228.     (cat "\n\nOkay, if you've got AWeb already installed on your system"
  229.          " the installer can build a script to use your existing AWeb setup"
  230.          " - if you're not using AWeb, you'll have to roll your own. (Shrug,"
  231.          " use something decent)"
  232.          "\n\nRight, then. What've you got?")
  233. )
  234.  
  235. (set #HUNT-THE-AWEB "'Take me to your AWeb'\n\n(IE select your AWeb main binary with the file-requester)")
  236.  
  237. (set #AWEB-LAUNCHER "\n\nCreating the script 'Photogenics:AWebHelp'")
  238.  
  239. (set #AWEB-LAUNCHER-MADE
  240.     (cat "\n\n\nOkay, you'll need to set the 'Web Browser Command' to point to"
  241.          " 'Photogenics:AWebHelp' in the Photogenics 2 preferences page -"
  242.          " by default it points to 'PgsCD:Aweb/AWeb'. Do this once you've"
  243.          " started the program up and entered your registration number.")
  244. )
  245.  
  246. (set #W3-YOURE-MAD
  247.     (cat "\n\n\nOkay, to get the on-line help working, you'll need to configure Photogenics to look for"
  248.           " your web browser and open the file 'PgsCD:help/Pgs.HTM' - you do this with the"
  249.          " with the 'Web Browser command' section of the prefs page available via the menu item"
  250.          " 'Preferences' in Photogenics's Settings menu. You can set this up as an AmigaDOS"
  251.          " or Rexx script to run as well as a program - consult your Web browser's documentation"
  252.          " for start-up options.")
  253. )
  254.  
  255. (set #INSTALL-HELPTEXT-PROMPT "\n\nUnpacking the text for the on-line help...")
  256.  
  257.  
  258.                        ; Tutorial gfx messages
  259.  
  260. (set #GFXDIR-PROMPT
  261.     (cat "Where do you wish to install the tutorial graphics?"
  262.          " (The specified directory wil be created for them if your"
  263.          " selection doesn't exist)")
  264. )
  265.  
  266. (set #MAKE-GFXDIR "Creating a directory for the tutorial graphics...")
  267.  
  268. (set #GFXCOPY-PROMPT "\n\nInstalling the tutorial source graphics...")
  269.  
  270.  
  271.                        ; colourfonts messages
  272.  
  273. (set #COLOURFONT-PROMPT
  274.     (cat "\n\n\nDo you wish to install the example ColourFonts in the"
  275.          " default system font directory FONTS: which is normally"
  276.          " assigned to sys:Fonts?")
  277. )
  278.  
  279. (set #WHEREFONT-HELP
  280.     (cat "\nThe Photogenics 2 'Text' GIO loader and the AddText functions"
  281.          " can use Amiga ColourFonts which tend to be BIG. These ones"
  282.          " are over 900K, so you can install them away from the System"
  283.          " disk <useful if you keep Colourfonts in a special drawer"
  284.          " or you're running low on System space>. Keeping them in 'FONTS:'"
  285.          " is simplest but unwieldy, putting them in another directory means"
  286.          " you use the Rexx script ColourFonts.rx to manage banks of fonts,"
  287.          " but it keeps disk organisation more sane.")
  288. )
  289.  
  290. (set #ELSEWHERE-PROMPT "Okay, choose a directory.\n")
  291.  
  292. (set #MAKEFONTDIR-PROMPT "Creating the directory '%s' for the ColourFonts...")
  293.  
  294. (set #INSTALL-COLFONTS "\n\nUnpacking the example ColourFonts...")
  295.  
  296.  
  297.                        ; userstartup messages
  298.  
  299. (set #STARTUP-1
  300.     (cat "\n\n\nDo you want the installer to automatically make"
  301.          " the required changes for %s to S:User-StartUP?\n\n"
  302.          "If you don't, it will create a script file containing"
  303.          " commands which you should add to your S:User-StartUP script.")
  304. )
  305.  
  306. (set #STARTUP-2
  307.     (cat "\n\n\nNow adding the %s lines to S:User-StartUP.\n\n"
  308.          "These are:\n\n%s")
  309. )
  310.  
  311. (set #STARTUP-3
  312.     (cat "\n\n\n\nThe file:\n\n%s\n\nhas been "
  313.          "generated, which you must add to S:User-StartUP manually.")
  314. )
  315.  
  316.                        ; nuking-for-current messages
  317.  
  318. (set #WAY-COOL-NEW-STUFF
  319.     (cat "\n\n\n\nIn the version 2 update, there's various new features, tweaks, freaks"
  320.          " and updates to some of the paintmodes and GIOs - we're about to"
  321.          " delete one of the obsolete files. This process will take"
  322.          " approximately 4 of your Earth 'minutes'. Thank you.")
  323. )
  324.  
  325. (set #BACKWARDS-COMPATIBILITY
  326.     (cat "\n\n\nIf you don't upgrade your current installation,"
  327.          " you won't be able to use any future expansion modules"
  328.          " which will rely on the extra functionality of the"
  329.          " Photogenics revision supplied on this disk set.\n\n\n"
  330.          "So, like, upgrade. It won't hurt. Honest. ;->\n")
  331. )
  332.  
  333.  
  334. ; ************* PLEASE COPY THIS PROCEDURE ALONG WITH THE STRINGS IT USES 
  335. ; ************* TO THE INSTALLER SCRIPT OF YOUR CLASSACT APPLICATION.
  336. ; ************* IT WILL TAKE CARE OF INSTALLING THE CLASSACT CLASSES YOU
  337. ; ************* PROVIDED WITH YOUR APPLICATION TO THE USER'S SYSTEM.
  338.  
  339. ; ClassAct installation procedure V 1.4 (23.12.95) by Osma Ahvenlampi
  340.  
  341. ; percentage of the size of included ClassAct classes versus the whole
  342. ; distribution (ie. total "complete" percentage after ClassAct is installed)
  343.  
  344. ; ClassAct installer scripts
  345. (set #classdest-prompt "Please select the directory where you want the ClassAct classes installed.\n(See help for details)")
  346. (set #classdest-help (cat "ClassAct is a GUI toolkit consisting of shared BOOPSI classes.\n\nThis player requires some of the ClassAct classes installed on your system. "
  347.     (if v39 (cat "OS 3.0 has a standard directory for BOOPSI classes, the SYS:Classes directory. It is recommended that you install ClassAct there.")
  348.             (cat "OS 2.0 does not have a standard place for disk resident BOOPSI classes. On OS 3.0 these classes are stored in the SYS:Classes directory. It is recommended that you create this directory and install ClassAct there.\nThis directory must be added in the LIBS: assign. This can be done by placing the command\nAssign >NIL: LIBS: SYS:Classes ADD\nto User-Startup. This installer will do this for you.")
  349.         )
  350.     )
  351. )
  352. (set #classes-020 "Do you want to use the OS 3.0, 020 optimised version of ClassAct?")
  353. (set #help-020 "Some ClassAct libraries have versions optimised for use on 020 or better equipped OS 3.0 or later machines. If your Amiga is such equipped, you should install these. The 68000/2.0 versions will also work, but are slightly slower.")
  354. (set #noclasses-message "The directory you selected for your ClassAct classes is not a part of the LIBS: assign.\n\nIt is necessary to add this assign so that the classes will be found properly.")
  355. (set #creating-dir "Creating directory ")
  356. (set #usbackup-prompt "User-Startup will now be backed up.")
  357. (set #usbackup-help "This installer will next make a modification in User-Startup. Before doing this the old User-Startup will be backed up to S:User-Startup.old")
  358. (set #adding-1 "Adding ")
  359. (set #adding-2 " to LIBS: assign\n")
  360. (set #adding-help "This is necessary so that the custom classes can be found.")
  361. (set #junod-button "It seems you have a late Commodore 'V42' button.gadget installed on your system.\n\nClassAct's button.gadget is far more capable than this gadget, and we recommend that you replace it. The ClassAct button.gadget is backwards compatible to the Commodore gadget. Do you wish to back up the Commodore gadget and replace it with the ClassAct version?")
  362. (set #junod-backed "The Commodore 'V42' button.gadget has been backed up with the name button.gadget.v42.\n\nThe ClassAct button.gadget will be installed in its place.")
  363. (set #junod-kept "The Commodore 'V42' button.gadget was not replaced with the more capable ClassAct version.\n\nPrograms depending on the availability of ClassAct-only features will be likely to work wrong.")
  364.  
  365. (procedure install-classact
  366. ; call this procedure to copy the classes included in the Classes directory
  367. ; in your distribution dir.
  368.     (if (exists "Photogenics2_5:Classes") ; The archive contains a ClassAct library update.
  369.     (
  370.         (set comp-dest  (/ (* classact-complete 2) 10))
  371.         (set comp-libs  (/ (* classact-complete 3) 10))
  372.         (set comp-dirs  (/ (* classact-complete 4) 10))
  373.         (set comp-junod (/ (* classact-complete 5) 10))
  374.         (set comp-020   (/ (* classact-complete 6) 10))
  375.         (set comp-gad   (/ (* classact-complete 8) 10))
  376.         (set comp-im    (/ (* classact-complete 9) 10))
  377.     
  378.         ; has the user installed ClassAct in CLASSACT: ?
  379.         (set @classact-dest (getassign "CLASSACT" "A"))
  380.         (if (= @classact-dest "") (set @classact-dest "SYS:Classes"))
  381.         
  382.         ; is ClassAct already in SYS:Classes ?
  383.         (if (or (not (exists (tackon @classact-dest "Gadgets/layout.gadget") (noreq)))
  384.                 (= @user-level 2))
  385.             ; no, ask where it should be placed
  386.             (set @classact-dest
  387.                 (askdir
  388.                     (prompt #classdest-prompt)
  389.                     (help #classdest-help)
  390.                     (default @classact-dest)
  391.                     (newpath)
  392.                 )
  393.             )
  394.         )
  395.         
  396.         (if (<> (run (cat "Photogenics2_5:C/CheckAssign LIBS: " @classact-dest)) 0)
  397.             (
  398.                 (message #noclasses-message)
  399.                 (if (not (exists @classact-dest))
  400.                     (makedir @classact-dest (prompt (cat #creating-dir @classact-dest)))
  401.                 )
  402.                 (set @addassign (cat "Assign >NIL: LIBS: " @classact-dest " ADD\n"))
  403.                 (startup "CLASSACT"
  404.                     (command @addassign)
  405.                     (prompt (cat #adding-1 @classact-dest #adding-2))
  406.                     (help #adding-help)
  407.                 )
  408.                 (run (@addassign))
  409.             )
  410.         )
  411.         
  412.         (set @classact-gadgets (tackon @classact-dest "Gadgets"))
  413.         (set @classact-images (tackon @classact-dest "Images"))
  414.         
  415.         (if (not (exists @classact-gadgets (noreq)))
  416.             (makedir @classact-images
  417.                 (prompt (cat #creating-dir @classact-gadgets))
  418.             )
  419.         )
  420.         
  421.         (if (not (exists @classact-images (noreq)))
  422.             (makedir @classact-images
  423.                 (prompt (cat #creating-dir @classact-images))
  424.             )
  425.         )
  426.         
  427.         (if (exists "SYS:Classes/Gadgets/button.gadget")
  428.             (if (< 40 (/ (getversion "SYS:Classes/Gadgets/button.gadget") 65536))
  429.                 (if (askbool (prompt #junod-button) (help @askbool-help) (default 1))
  430.                     (
  431.                         (rename "SYS:Classes/Gadgets/button.gadget" "SYS:Classes/Gadgets/button.gadget.v42")
  432.                         (message #junod-backed)
  433.                     )
  434.                     (message #junod-kept)
  435.                 )
  436.             )
  437.         )
  438.         
  439.         (if (exists "Photogenics2_5:Classes/Gadgets/layout.gadget.020")
  440.             (set classes-020 (askbool (prompt #classes-020) (help #help-020) (default (and cpu020 v39))))
  441.             (set classes-020 0)
  442.         )
  443.  
  444.         (foreach "Photogenics2_5:Classes/Gadgets" "#?.gadget"
  445.             (
  446.                 (set thislib (tackon "Photogenics2_5:Classes/Gadgets" @each-name))
  447.                 (if (and classes-020 (exists (cat thislib ".020")))
  448.                     (set thislib (cat thislib ".020"))
  449.                 )
  450.                 (copylib (source thislib)
  451.                     (dest @classact-gadgets)
  452.                     (newname @each-name)
  453.                     (prompt (cat #installing @each-name))
  454.                     (help #classdest-help)
  455.                     (optional "force" "askuser")
  456.                 )
  457.             )
  458.         )
  459.         
  460.         (foreach "Photogenics2_5:Classes/Images" "#?.image"
  461.             (
  462.                 (set thislib (tackon "Photogenics2_5:Classes/Images" @each-name))
  463.                 (if (and classes-020 (exists (cat thislib ".020")))
  464.                     (set thislib (cat thislib ".020"))
  465.                 )
  466.                 (copylib (source thislib)
  467.                     (dest @classact-images)
  468.                     (newname @each-name)
  469.                     (prompt (cat #installing @each-name))
  470.                     (help #classdest-help)
  471.                     (optional "force" "askuser")
  472.                 )
  473.             )
  474.         )
  475.         
  476.         (foreach "Photogenics2_5:Classes" "#?.class"
  477.             (
  478.                 (set thislib (tackon "Photogenics2_5:Classes" @each-name))
  479.                 (if (and classes-020 (exists (cat thislib ".020")))
  480.                     (set thislib (cat thislib ".020"))
  481.                 )
  482.                 (copylib (source thislib)
  483.                     (dest @classact-dest)
  484.                     (newname @each-name)
  485.                     (prompt (cat #installing @each-name))
  486.                     (help #classdest-help)
  487.                     (optional "force" "askuser")
  488.                 )
  489.             )
  490.         )
  491.  
  492.     )
  493.     )
  494. )
  495.  
  496. ; ************** END OF CLASSACT INSTALL PROCEDURE. COPY THE BLOCK ABOVE
  497. ; ************** TO YOUR CLASSACT APPLICATION INSTALLER.
  498.  
  499.  
  500.  
  501. ; /**************************************************************************/
  502. ;               Right, ditching old kack we don't need...
  503. ; /**************************************************************************/
  504.  
  505. (procedure scrub
  506.     (
  507.     (if (> (exists (tackon BINARIES OLDKACK) ) 0 )
  508.         (
  509.         (delete (tackon BINARIES OLDKACK)
  510.             (prompt (#PGX-SCRUB (tackon BINARIES OLDKACK) ))
  511.             (help #WAY-COOL-NEW-STUFF)
  512.             (confirm)
  513.             )
  514.         )
  515.     )
  516.     )
  517. )
  518.  
  519.  
  520.  
  521. ; /**************************************************************************/
  522. ;                   there's something dead in here
  523. ; /**************************************************************************/
  524.  
  525.  
  526. (procedure do-the-startup
  527.     (
  528.     (if
  529.         (askbool
  530.             (prompt
  531.                 (#STARTUP-1 SECTION-NAME)
  532.                 )
  533.             (help @startup-help))
  534.         (startup SECTION-NAME
  535.             (prompt
  536.                 (#STARTUP-2 SECTION-NAME ADD-TO-USER-STARTUP)
  537.                 )
  538.             (help @startup-help)
  539.             (command ADD-TO-USER-STARTUP))
  540.         (
  541.         (textfile
  542.             (dest (tackon OUTPUT STARTUP-FILE))
  543.             (append ADD-TO-USER-STARTUP))
  544.  
  545.         (message
  546.             (#STARTUP-3 (tackon OUTPUT STARTUP-FILE))
  547.             )
  548.         )
  549.     )
  550.     )
  551. )
  552.  
  553.  
  554. ; /**************************************************************************/
  555. ;                          Who? What? Where?
  556. ; /**************************************************************************/
  557.  
  558. (procedure hunt_the_wiener
  559.     (
  560.  
  561.     (set OLDINSTALL (getassign "photogenics"))
  562.  
  563.     (if (AND (= OLDINSTALL "") (< (IN WHATTOINSTALL 0) 1 ) )
  564.         (
  565.         (message #DOTHEPROGRAMFIRST )
  566.         (exit (quiet) )
  567.         )
  568.         (set RETURNCODE OLDINSTALL)
  569.     )
  570.     )
  571. )
  572.  
  573.  
  574. ; /**************************************************************************/
  575. ;                Install the core program and modules
  576. ; /**************************************************************************/
  577.  
  578. (procedure corebinaries
  579.     (
  580.  
  581.     (set NEWCODE (+ NEWCODE 2))
  582.  
  583.     (if (= (getassign "WORK" "v") "" )
  584.         (set NORMAL @default-dest)
  585.         (set NORMAL "WORK:")
  586.     )
  587.  
  588.     (set CHIP (database "graphics-mem") )
  589.     (set TOTAL (database "total-mem") )
  590.     (set MATHS (database "fpu") )
  591.  
  592.     (if ( <= (- TOTAL CHIP) 0 )
  593.         (
  594.         (message #TOOSMALLBOX-HELP)
  595.         )
  596.     )
  597.  
  598.     (hunt_the_wiener)
  599.     (set WHEREBINARIES RETURNCODE)
  600.  
  601.     (if (= WHEREBINARIES "")
  602.         (
  603.         (set BINARIES
  604.             (askdir
  605.                 (prompt #MAINPROG-PROMPT)
  606.                 (help @askdir-help)
  607.                 (default NORMAL)
  608.                 (disk)
  609.             )
  610.         )
  611.         (set BINARIES (tackon BINARIES "Photogenics"))
  612.         )
  613.  
  614.         (
  615.         (set BINARIES WHEREBINARIES)
  616.         (set NEWINSTALL
  617.             (askbool
  618.                 (prompt (#REINCARNATION BINARIES))
  619.                 (help #BACKWARDS-COMPATIBILITY)
  620.                 (choices "Proceed" "Abort")
  621.             )
  622.         )
  623.  
  624.         (if (= 0 NEWINSTALL)
  625.             (
  626.             (exit (quiet))
  627.             )
  628.         )
  629.  
  630.         )
  631.     )
  632.  
  633.     (set @default-dest BINARIES)
  634.  
  635.     (set PGX-SCRATCH
  636.         (askdir
  637.             (prompt #SCRATCH-PROMPT)
  638.             (help #SCRATCH-HELP)
  639.             (default (tackon @default-dest "Temporary"))
  640.             (newpath)
  641.             (disk)
  642.         )
  643.     )
  644.  
  645.     (set ADD-TO-USER-STARTUP (cat "assign photogenics: \"" BINARIES "\"\nassign PGStemp: \"" PGX-SCRATCH "\"\n"))
  646.  
  647.                      ; Copying the main bit...
  648.  
  649.     (if ( < (exists BINARIES (noreq) ) 2)
  650.         (makedir BINARIES
  651.             (prompt #PGXDIR)
  652.             (help @makedir-help) 
  653.             (infos)
  654.         )
  655.     )
  656.  
  657.     (if ( < (exists PGX-SCRATCH (noreq) ) 2)
  658.         (makedir PGX-SCRATCH
  659.             (prompt (#PGX-SCRATCHPROMPT (PGX-SCRATCH)))
  660.             (help @makedir-help) 
  661.         )
  662.     )
  663.  
  664. ;   ENV: is now used for all preference files. GIO and main code...
  665.  
  666.     (if ( < (exists "envarc:Photogenics" (noreq) ) 2)
  667.         (
  668.         (makedir "envarc:Photogenics"
  669.             (prompt #PGX-ENVARC)
  670.             (help @makedir-help) 
  671.             )
  672.  
  673.         (makedir "env:Photogenics"
  674.             (prompt #PGX-ENV)
  675.             (help @makedir-help) 
  676.             )
  677.         )
  678.     )
  679.  
  680.     (if (exists "ENVARC:Photogenics/preferences-se" (noreq))
  681.         (
  682.         (delete "ENVARC:Photogenics/preferences-se"
  683.             (prompt (#PREFS-DELETE "ENVARC:Photogenics/preferences-se"))
  684.             (help #PREFS-HELP)
  685.             (confirm)
  686.         )
  687.         (delete "ENV:Photogenics/preferences-se"
  688.             (prompt (#PREFS-DELETE "ENV:Photogenics/preferences-se"))
  689.             (help #PREFS-HELP)
  690.             (confirm)
  691.         )
  692.         )
  693.     )
  694.     (copyfiles
  695.         (prompt "Installing DiGiTaL CoRRuPTioN Reg #...")
  696.         (help @copyfiles-help)
  697.         (source "Photogenics2_1:prefs")
  698.         (dest "env:Photogenics")
  699.         (confirm)
  700.     )
  701.     (copyfiles
  702.         (prompt "Installing DiGiTaL CoRRuPTioN Reg #...")
  703.         (help @copyfiles-help)
  704.         (source "Photogenics2_1:prefs")
  705.         (dest "envarc:Photogenics")
  706.     )
  707.     (if (= 1 (exists (tackon BINARIES "Data/Preferences") (noreq)))
  708.         (
  709.         (delete (tackon BINARIES "Data/Preferences")
  710.             (prompt #PREFS-DELETE)
  711.             (help #PREFS-HELP)
  712.             (confirm)
  713.         )
  714.         )
  715.     )
  716.  
  717. ; Because of Installer following case of the previous file, and GIOs
  718. ; being case sensitive, the only way to be reliable is to zap the lot...
  719.  
  720.     (set OLDKACK "Data/Paintmodes/Flip-X")
  721.     (scrub)
  722.  
  723.     (set OLDKACK "Data/Paintmodes/Flip-Y")
  724.     (scrub)
  725.  
  726.     (set OLDKACK "Data/Paintmodes/AddDust")
  727.     (scrub)
  728.  
  729.     (set OLDKACK "Data/Paintmodes/NegBright")
  730.     (scrub)
  731.  
  732.     (set OLDKACK "Data/Paintmodes/LimitMax")
  733.     (scrub)
  734.  
  735.     (set OLDKACK "Data/Paintmodes/LimitMin")
  736.     (scrub)
  737.  
  738.     (set OLDKACK "Data/Paintmodes/HeavyBlur")
  739.     (scrub)
  740.  
  741.     (set OLDKACK "Data/Paintmodes/Maximum")
  742.     (scrub)
  743.  
  744.     (set OLDKACK "Data/Paintmodes/Minimum")
  745.     (scrub)
  746.  
  747.     (set OLDKACK "Data/Paintmodes/Highlights")
  748.     (scrub)
  749.  
  750.     (set OLDKACK "Data/Paintmodes/Lowlights")
  751.     (scrub)
  752.  
  753.     (set OLDKACK "Data/GIO/ACBM.gio")
  754.     (scrub)
  755.  
  756.     (set OLDKACK "Data/GIO/AmigaScreen.gio")
  757.     (scrub)
  758.  
  759.     (set OLDKACK "Data/GIO/Ascii-Art.gio")
  760.     (scrub)
  761.  
  762.     (set OLDKACK "Data/GIO/Backdrop.gio")
  763.     (scrub)
  764.  
  765.     (set OLDKACK "Data/GIO/BMP.gio")
  766.     (scrub)
  767.  
  768.     (set OLDKACK "Data/GIO/CDXL.gio")
  769.     (scrub)
  770.  
  771.     (set OLDKACK "Data/GIO/ColourNoise.gio")
  772.     (scrub)
  773.  
  774.     (set OLDKACK "Data/GIO/CyBERgraphics.gio")
  775.     (scrub)
  776.  
  777.     (set OLDKACK "Data/GIO/GIF.gio")
  778.     (scrub)
  779.  
  780.     (set OLDKACK "Data/GIO/HAM8.gio")
  781.     (scrub)
  782.  
  783.     (set OLDKACK "Data/GIO/IFFDeep.gio")
  784.     (scrub)
  785.  
  786.     (set OLDKACK "Data/GIO/ILBM.gio")
  787.     (scrub)
  788.  
  789.     (set OLDKACK "Data/GIO/Img.gio")
  790.     (scrub)
  791.  
  792.     (set OLDKACK "Data/GIO/JPEG.gio")
  793.     (scrub)
  794.  
  795.     (set OLDKACK "Data/GIO/Opal_HIRES.gio")
  796.     (scrub)
  797.  
  798.     (set OLDKACK "Data/GIO/Opal_LORES.gio")
  799.     (scrub)
  800.  
  801.     (set OLDKACK "Data/GIO/Pattern.gio")
  802.     (scrub)
  803.  
  804.     (set OLDKACK "Data/GIO/PBM.gio")
  805.     (scrub)
  806.  
  807.     (set OLDKACK "Data/GIO/PCD.gio")
  808.     (scrub)
  809.  
  810.     (set OLDKACK "Data/GIO/Picasso-II.gio")
  811.     (scrub)
  812.  
  813.     (set OLDKACK "Data/GIO/Plasma.gio")
  814.     (scrub)
  815.  
  816.     (set OLDKACK "Data/GIO/PrefsPrinter.gio")
  817.     (scrub)
  818.  
  819.     (set OLDKACK "Data/GIO/QRT.gio")
  820.     (scrub)
  821.  
  822.     (set OLDKACK "Data/GIO/QuadAnim.gio")
  823.     (scrub)
  824.  
  825.     (set OLDKACK "Data/GIO/Raw.gio")
  826.     (scrub)
  827.  
  828.     (set OLDKACK "Data/GIO/RGB8.gio")
  829.     (scrub)
  830.  
  831.     (set OLDKACK "Data/GIO/RGBN.gio")
  832.     (scrub)
  833.  
  834.     (set OLDKACK "Data/GIO/Ripples.gio")
  835.     (scrub)
  836.  
  837.     (set OLDKACK "Data/GIO/Sculpt.gio")
  838.     (scrub)
  839.  
  840.     (set OLDKACK "Data/GIO/ShowHam8.gio")
  841.     (scrub)
  842.  
  843.     (set OLDKACK "Data/GIO/Streaks.gio")
  844.     (scrub)
  845.  
  846.     (set OLDKACK "Data/GIO/Targa.gio")
  847.     (scrub)
  848.  
  849.     (set OLDKACK "Data/GIO/Text.gio")
  850.     (scrub)
  851.  
  852.     (set OLDKACK "Data/GIO/VLab.gio")
  853.     (scrub)
  854.  
  855.     (set OLDKACK "Data/GIO/WhiteNoise.gio")
  856.     (scrub)
  857.  
  858. ;  Okay, we're in the clear. Nuking from orbit, it's the only way...
  859.  
  860.                            ; main binaries
  861.  
  862.     (askdisk
  863.         (prompt (#DISK "2"))
  864.         (dest "Photogenics2_2")
  865.         (help @askdisk-help)
  866.     )
  867.  
  868.     (makeassign "pgs_temp" BINARIES)
  869.  
  870.     (working #INSTALL-CORE)
  871.  
  872.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsCORE.lha"))
  873.     (if  ( <> PACKERROR 0)
  874.         (
  875.         (abort #PROBLEM-WITH-UNPACK)
  876.         )
  877.     )
  878.  
  879.     (working #INSTALL-DATA)
  880.  
  881.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsDATA.lha"))
  882.     (if  ( <> PACKERROR 0)
  883.         (
  884.         (abort #PROBLEM-WITH-UNPACK)
  885.         )
  886.     )
  887.  
  888.     (makeassign "pgs_temp" (tackon BINARIES "Data"))
  889.  
  890.     (working #INSTALL-FX)
  891.  
  892.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsFX.lha"))
  893.     (if  ( <> PACKERROR 0)
  894.         (
  895.         (abort #PROBLEM-WITH-UNPACK)
  896.         )
  897.     )
  898.  
  899.     (working #INSTALL-GIO)
  900.  
  901.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsGIO.lha"))
  902.     (if  ( <> PACKERROR 0)
  903.         (
  904.         (abort #PROBLEM-WITH-UNPACK)
  905.         )
  906.     )
  907.  
  908.     (working #INSTALL-LIB)
  909.  
  910.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsLIB.lha"))
  911.     (if  ( <> PACKERROR 0)
  912.         (
  913.         (abort #PROBLEM-WITH-UNPACK)
  914.         )
  915.     )
  916.  
  917.     (working #INSTALL-MODE)
  918.  
  919.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_2:PgsMODE.lha"))
  920.     (if  ( <> PACKERROR 0)
  921.         (
  922.         (abort #PROBLEM-WITH-UNPACK)
  923.         )
  924.     )
  925.  
  926.     (askdisk
  927.         (prompt (#DISK "1"))
  928.         (dest "Photogenics2_1")
  929.         (help @askdisk-help)
  930.     )
  931.  
  932.     (message #FPU-BLURB)
  933.  
  934.     (if (= MATHS "NOFPU")
  935.         (set #FPU-PROMPT
  936.             (cat "\n\n\nHmmmmm. The installer reckons you've not got an"
  937.                  " FPU installed in your machine. Is this correct?")
  938.             )
  939.         (set #FPU-PROMPT
  940.             (cat "\n\n\nArhar. The installer reckons you've got an FPU"
  941.                  " installed and activated in your machine. Is this"
  942.                  " correct?")
  943.             )
  944.     )
  945.  
  946.     (set FPU
  947.         (askbool
  948.             (prompt #FPU-PROMPT)
  949.             (help #FPU-BLURB)
  950.             (choices "No FPU installed" "FPU installed")
  951.         )
  952.     )
  953.  
  954.     (if (= 1 FPU)
  955.         (
  956.         (makeassign "pgs_temp" (tackon BINARIES "Data") )
  957.  
  958.         (working #INSTALL-FPU)
  959.  
  960.         (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:PgsDATAFFP.lha"))
  961.             (if  ( <> PACKERROR 0)
  962.                 (
  963.                 (abort #PROBLEM-WITH-UNPACK)
  964.                 )
  965.             )
  966.         )
  967.     )
  968.  
  969.     (if (= (exists "FONTS:Photogenics.font" (NOREQ)) 0)
  970.         (
  971.  
  972.         (copyfiles
  973.             (prompt #PGX-FONT-PROMPT)
  974.             (help #GENIXFONT-HELP)
  975.             (source "Photogenics2_1:Fonts")
  976.             (dest "fonts:")
  977.             (pattern "Photogenics#?")
  978.             (fonts)
  979.             (confirm)
  980.             )
  981.         )
  982.     )
  983.  
  984. ; And other application installers crap up the system libraries sometimes...
  985.  
  986.     (run ("Protect libs:asl.library +RWED"))
  987.  
  988.     (copylib
  989.         (prompt #PGX-ASL)
  990.         (help @copylib-help)
  991.         (source "Photogenics2_1:libs/asl.library")
  992.         (dest "libs:")
  993.         (confirm)
  994.     )
  995.  
  996.     (run ("Protect libs:diskfont.library +RWED"))
  997.  
  998.     (copylib
  999.         (prompt #PGX-DISKFONT)
  1000.         (help @copylib-help)
  1001.         (source "Photogenics2_1:libs/diskfont.library")
  1002.         (dest "libs:")
  1003.         (confirm)
  1004.     )
  1005.  
  1006.     (run ("Protect c:SetPatch +RWED"))
  1007.  
  1008.     (copylib
  1009.         (prompt #PGX-SETPATCH)
  1010.         (help @copylib-help)
  1011.         (source "Photogenics2_1:c/SetPatch")
  1012.         (dest "c:")
  1013.         (confirm)
  1014.     )
  1015.  
  1016.     (run "c/SetPatch QUIET")
  1017.  
  1018.     (set WGTGFXSET
  1019.         (askbool
  1020.             (prompt #WGT-GFX)
  1021.             (help #WGT-GFX)
  1022.             (choices "Gad-u-like" "XIX")
  1023.         )
  1024.     )
  1025.  
  1026.                          ; Widget runtime versions
  1027.  
  1028.     (makeassign "pgs_temp" "sys:Classes")
  1029.  
  1030.     (working #INSTALL-WGT-PROMPT)
  1031.  
  1032.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:WidgetCORE.lha"))
  1033.     (if  ( <> PACKERROR 0)
  1034.         (
  1035.         (abort #PROBLEM-WITH-UNPACK)
  1036.         )
  1037.     )
  1038.  
  1039.     (if (= 0 WGTGFXSET)
  1040.         (
  1041.         (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:WidgetXIX.lha"))
  1042.         (if  ( <> PACKERROR 0)
  1043.             (
  1044.             (abort #PROBLEM-WITH-UNPACK)
  1045.             )
  1046.         )
  1047.         )
  1048.  
  1049.         (
  1050.         (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:WidgetGUL.lha"))
  1051.         (if  ( <> PACKERROR 0)
  1052.             (
  1053.             (abort #PROBLEM-WITH-UNPACK)
  1054.             )
  1055.         )
  1056.         )
  1057.     )
  1058.  
  1059.     (set SECTION-NAME "Photogenics")
  1060.     (set OUTPUT BINARIES)
  1061.     (set STARTUP-FILE "add-to-user-startup")
  1062.     (do-the-startup)
  1063.  
  1064.     (makeassign "photogenics" BINARIES)
  1065.     (makeassign "PGStemp" PGX-SCRATCH)
  1066.  
  1067.     )
  1068.  
  1069. )
  1070.  
  1071.  
  1072. ; /**************************************************************************/
  1073. ;        htthp://argh.hit.windows.95.die.pain.death.stab.pain.clank
  1074. ; /**************************************************************************/
  1075.  
  1076.  
  1077. (procedure online-help
  1078.     (
  1079.     (hunt_the_wiener)
  1080.     (set BINARIES RETURNCODE)
  1081.     (set @default-dest BINARIES)
  1082.  
  1083.     (makeassign "pgs_temp" (tackon BINARIES "Data"))
  1084.  
  1085.     (working #INSTALL-HELPTEXT-PROMPT)
  1086.  
  1087.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_1:PgsTEXT.lha"))
  1088.     (if  ( <> PACKERROR 0)
  1089.         (
  1090.         (abort #PROBLEM-WITH-UNPACK)
  1091.         )
  1092.     )
  1093.  
  1094.     (askdisk
  1095.         (prompt (#DISK "3"))
  1096.         (dest "Photogenics2_3")
  1097.         (help @askdisk-help)
  1098.     )
  1099.  
  1100.     (copyfiles
  1101.         (prompt "Installing the on-line help graphics...")
  1102.         (help @copyfiles-help)
  1103.         (source "Photogenics2_3:")
  1104.         (dest BINARIES)
  1105.         (all)
  1106.     )
  1107.  
  1108.     (askdisk
  1109.         (prompt (#DISK "4"))
  1110.         (dest "Photogenics2_4")
  1111.         (help @askdisk-help)
  1112.     )
  1113.  
  1114.     (copyfiles
  1115.         (prompt "Installing the on-line help graphics...")
  1116.         (help @copyfiles-help)
  1117.         (source "Photogenics2_4:")
  1118.         (dest BINARIES)
  1119.         (all)
  1120.     )
  1121.  
  1122.     (askdisk
  1123.         (prompt (#DISK "5"))
  1124.         (dest "Photogenics2_5")
  1125.         (help @askdisk-help)
  1126.     )
  1127.  
  1128.     (copyfiles
  1129.         (prompt "Installing the on-line help graphics...")
  1130.         (help @copyfiles-help)
  1131.         (source "Photogenics2_5:data")
  1132.         (dest (tackon BINARIES "data") )
  1133.         (all)
  1134.     )
  1135.  
  1136.     (set SECTION-NAME "Photogenics-HELP")
  1137.     (set OUTPUT BINARIES)
  1138.     (set STARTUP-FILE "add-help-to-user-startup")
  1139.     (set ADD-TO-USER-STARTUP (cat "assign pgscd: photogenics:data"))
  1140.     (do-the-startup)
  1141.  
  1142.     (makeassign "pgscd" (tackon BINARIES "Data"))
  1143.  
  1144.     (set W3TOOL
  1145.         (askbool
  1146.             (prompt #W3-TOOL-INFO)
  1147.             (help #W3-TOOL-INFO)
  1148.             (choices #W3-AWEB #W3-CUSTOM )
  1149.         )
  1150.     )
  1151.  
  1152.     (if (= 1 W3TOOL)
  1153.         (
  1154.  
  1155.         (makeassign "pgs_temp" (tackon BINARIES "Data"))
  1156.  
  1157.         (working #W3-INSTALLAWEB)
  1158.  
  1159.         (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_5:AWeb.lha"))
  1160.         (if  ( <> PACKERROR 0)
  1161.             (
  1162.             (abort #PROBLEM-WITH-UNPACK)
  1163.             )
  1164.         )
  1165.  
  1166.          ; okay, ZGif datatype and picture class for AWeb support
  1167.  
  1168.         (copylib
  1169.             (prompt #PGX-PICDT)
  1170.             (help @copylib-help)
  1171.             (source "Photogenics2_5:Classes/Datatypes/picture.datatype")
  1172.             (dest "sys:Classes/Datatypes")
  1173.             (confirm)
  1174.         )
  1175.  
  1176.         (copylib
  1177.             (prompt #PGX-ZGIF)
  1178.             (help @copylib-help)
  1179.             (source "Photogenics2_5:Classes/Datatypes/gif.datatype")
  1180.             (dest "sys:Classes/Datatypes")
  1181.             (confirm)
  1182.         )
  1183.  
  1184.         (copyfiles
  1185.             (prompt #PGX-ZGIF)
  1186.             (help @copylib-help)
  1187.             (source "Photogenics2_5:devs/DataTypes/GIF")
  1188.             (dest "devs:Datatypes")
  1189.             (confirm)
  1190.             (infos)
  1191.         )
  1192.  
  1193.         (install-classact)
  1194.  
  1195.         )
  1196.  
  1197.         (
  1198.  
  1199.         (set EXTERNAL
  1200.             (askbool
  1201.                 (prompt #W3-CUSTOM-BREED)
  1202.                 (help #W3-CUSTOM-BREED)
  1203.                 (choices "AWeb" "Something Else")
  1204.             )
  1205.         )
  1206.  
  1207.         (if (= 1 EXTERNAL)
  1208.             (
  1209.  
  1210.             (set AWEBPATH
  1211.                 (askfile
  1212.                     (prompt #HUNT-THE-AWEB)
  1213.                     (help @askfile-help)
  1214.                     (default @default-dest)
  1215.                 )
  1216.             )
  1217.  
  1218.             (textfile
  1219.                 (prompt #AWEB-LAUNCHER)
  1220.                 (help #AWEB-LAUNCHER)
  1221.                 (dest (tackon BINARIES "AWebHelp"))
  1222.  
  1223.                 (append "Stack 10000\n")
  1224.                 (append ("\"%s\" LOCAL pgscd:help/pgs.htm\n" AWEBPATH))
  1225.  
  1226.                 (confirm)
  1227.             )
  1228.  
  1229.             (run ("Protect %s +S" (tackon BINARIES "AWebHelp") ))
  1230.  
  1231.             (message #AWEB-LAUNCHER-MADE)
  1232.  
  1233.             )
  1234.  
  1235.             (
  1236.             (message #W3-YOURE-MAD)
  1237.             )
  1238.  
  1239.         )
  1240.  
  1241.         )
  1242.  
  1243.     )
  1244.  
  1245.     )
  1246. )
  1247.  
  1248.  
  1249. ; /**************************************************************************/
  1250. ;                       Install the ColourFonts
  1251. ; /**************************************************************************/
  1252.  
  1253.  
  1254. (procedure colourfonts
  1255.     (
  1256.     (hunt_the_wiener)
  1257.     (set WHEREFONT RETURNCODE)
  1258.  
  1259.     (set FONTCHOICE
  1260.         (askbool
  1261.             (prompt #COLOURFONT-PROMPT)
  1262.             (help #WHEREFONT-HELP)
  1263.         )
  1264.     )
  1265.  
  1266.     (if (= 0 FONTCHOICE)
  1267.         (
  1268.  
  1269.         (set WHEREFONT
  1270.             (askdir
  1271.                 (prompt #ELSEWHERE-PROMPT)
  1272.                 (help @askdir-help)
  1273.                 (default @default-dest)
  1274.                 (newpath)
  1275.                 (disk)
  1276.             )
  1277.         )
  1278.  
  1279.         (if ( < (exists WHEREFONT (noreq) ) 2)
  1280.             (makedir WHEREFONT
  1281.                 (prompt (#MAKEFONTDIR-PROMPT WHEREFONT))
  1282.                 (help @makedir-help) 
  1283.                 (confirm)
  1284.             )
  1285.         )
  1286.  
  1287.         )
  1288.  
  1289.         (
  1290.         (set WHEREFONT "fonts:")
  1291.         )
  1292.     )
  1293.  
  1294.     (makeassign "pgs_temp" WHEREFONT)
  1295.  
  1296.     (working #INSTALL-COLFONTS)
  1297.  
  1298.     (set PACKERROR (run "ram:lhex -qfw=pgs_temp: x Photogenics2_6:ColourFonts.lha"))
  1299.     (if  ( <> PACKERROR 0)
  1300.         (message #PROBLEM-WITH-UNPACK)
  1301.     )
  1302.  
  1303.     )
  1304. )
  1305.  
  1306.  
  1307. ; /**************************************************************************/
  1308. ;            And the test graphics. "Two tits in a canoe"
  1309. ; /**************************************************************************/
  1310.  
  1311. (procedure tutorial-graphics
  1312.     (
  1313.     (hunt_the_wiener)
  1314.     (set GRAPHICS (tackon RETURNCODE "Graphics"))
  1315.  
  1316.     (set GRAPHICS
  1317.         (askdir
  1318.             (prompt (#GFXDIR-PROMPT GRAPHICS-DIR ) )
  1319.             (help @askdir-help)
  1320.             (default GRAPHICS)
  1321.             (newpath)
  1322.             (disk)
  1323.         )
  1324.     )
  1325.  
  1326.     (if ( < (exists GRAPHICS (noreq) ) 2)
  1327.         (makedir GRAPHICS
  1328.             (prompt #MAKE-GFXDIR)
  1329.             (help @makedir-help) 
  1330.             (confirm)
  1331.             (infos)
  1332.         )
  1333.     )
  1334.  
  1335.     (set @default-dest RETURNCODE)
  1336.  
  1337.     (askdisk
  1338.         (prompt (#DISK "6"))
  1339.         (dest "Photogenics2_6")
  1340.         (help @askdisk-help)
  1341.         )
  1342.  
  1343.     (copyfiles
  1344.         (prompt #GFXCOPY-PROMPT)
  1345.         (help @copyfiles-help)
  1346.         (source "Photogenics2_6:Graphics")
  1347.         (dest GRAPHICS)
  1348.         (all)
  1349.     )
  1350.  
  1351.     )
  1352. )
  1353.  
  1354.  
  1355. ; /**************************************************************************/
  1356. ;                  Oh no, it's the Central Cavern!
  1357. ; /**************************************************************************/
  1358.  
  1359.  
  1360. (if (< (/ (getversion) 65536) 39)
  1361.     ((abort #OLDBOX-HELP))
  1362. )
  1363.  
  1364. (run "Avail >nil: <nil: FLUSH")
  1365.  
  1366. (message #GOINGIN)
  1367.  
  1368. (copyfiles "Photogenics2_1:c/Lhex"
  1369.     (source "c/lhex")
  1370.     (dest "ram:")
  1371.     (safe)
  1372. )
  1373.  
  1374. (set NEWCODE 0)
  1375.  
  1376. (set WHATTOINSTALL
  1377.     (askoptions
  1378.         (prompt #MAIN-PROMPT)
  1379.         (help #WAYS-TO-INSTALL)
  1380.         (choices #CHOICE-MAIN
  1381.                  #CHOICE-GFX)
  1382.         (default 1)
  1383.     )
  1384. )
  1385.  
  1386. (if (= WHATTOINSTALL 0)
  1387.     (exit (quiet))
  1388. )
  1389.  
  1390. (if (= (IN WHATTOINSTALL 0) 1)
  1391.     (    
  1392.     (corebinaries)
  1393.     (online-help)
  1394.  
  1395.     (set FINALREPLY (#FINAL-MESSAGE BINARIES) #OLHELP-INSTALLED)
  1396.  
  1397.     )
  1398. )
  1399.  
  1400. (if (= (IN WHATTOINSTALL 1) 2)
  1401.     (
  1402.     (tutorial-graphics)
  1403.     (colourfonts)
  1404.  
  1405.     (set FINALREPLY (cat FINALREPLY #GFX-INSTALLED #FONTS-INSTALLED))
  1406.  
  1407.     )
  1408. )
  1409.  
  1410. (delete "ram:lhex"
  1411.     (safe)
  1412. )
  1413.  
  1414. (makeassign "pgs_temp")
  1415.  
  1416. (message FINALREPLY )
  1417.  
  1418. (exit (quiet))
  1419.  
  1420.